using System.ComponentModel.DataAnnotations;
using WalkingTec.Mvvm.Core;
using WalkingTec.Mvvm.Core.Extensions;
using HengTong.Model.Db.Hr.Bill;
using TiaoTaoHelper.Wtm.Models;


namespace HengTong.ViewModel.Hr.SysHrRecruitPublishRequestBillVms
{
    public partial class SysHrRecruitPublishRequestBillTemplateVm : BaseTemplateVM
    {
        [Display(Name = "招聘标题")]
        public ExcelPropety TitleExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.Title);
        [Display(Name = "招聘描述")]
        public ExcelPropety DescriptionExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.Description);
        [Display(Name = "招聘人数")]
        public ExcelPropety HireNumberExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.HireNumber);
        [Display(Name = "到岗时间")]
        public ExcelPropety ExpectedDateExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.ExpectedDate);
        [Display(Name = "岗位要求")]
        public ExcelPropety JobRequirementExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.JobRequirement);
        [Display(Name = "学历要求")]
        public ExcelPropety EducationRequirementExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.EducationRequirement);
        [Display(Name = "专业要求")]
        public ExcelPropety MajorRequirementExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.MajorRequirement);
        [Display(Name = "性别要求")]
        public ExcelPropety GenderRequirementExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.GenderRequirement);
        [Display(Name = "年龄要求")]
        public ExcelPropety AgeRequirementExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.AgeRequirement);
        [Display(Name = "其他要求")]
        public ExcelPropety OtherRequirementExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.OtherRequirement);
        [Display(Name = "薪资范围")]
        public ExcelPropety SalaryRangeExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.SalaryRange);
        [Display(Name = "福利待遇")]
        public ExcelPropety BenefitsExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.Benefits);
        [Display(Name = "工作岗位")]
        public ExcelPropety JobPositionExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.JobPositionId);
        [Display(Name = "发布开始时间")]
        public ExcelPropety PublishStartDateExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.PublishStartDate);
        [Display(Name = "发布结束时间")]
        public ExcelPropety PublishEndDateExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.PublishEndDate);
        [Display(Name = "是否对外发布")]
        public ExcelPropety IsExternalPublishExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.IsExternalPublish);
        [Display(Name = "联系人")]
        public ExcelPropety ContactPersonExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.ContactPerson);
        [Display(Name = "联系电话")]
        public ExcelPropety ContactPhoneExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.ContactPhone);
        [Display(Name = "联系邮箱")]
        public ExcelPropety ContactEmailExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.ContactEmail);
        [Display(Name = "审批人")]
        public ExcelPropety ApproverExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.Approver);
        [Display(Name = "审批时间")]
        public ExcelPropety ApprovalTimeExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.ApprovalTime);
        [Display(Name = "所属部门")]
        public ExcelPropety GroupExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.GroupId);
        public ExcelPropety OrgExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.OrgId);
        [Display(Name = "单据编号")]
        public ExcelPropety BillCodeExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.BillCode);
        [Display(Name = "单据状态")]
        public ExcelPropety BillStatusExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.BillStatus);
        [Display(Name = "工作流状态")]
        public ExcelPropety WorkflowStatusExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.WorkflowStatus);
        [Display(Name = "备注")]
        public ExcelPropety RemarkExcel = ExcelPropety.CreateProperty<SysHrRecruitPublishRequestBill>(x => x.Remark);

	    protected override void InitVM()
        {
            JobPositionExcel.DataType = ColumnDataType.ComboBox;
            JobPositionExcel.ListItems = DC.Set<SysJobPosition>().GetSelectListItems(Wtm, y => y.Name);
            GroupExcel.DataType = ColumnDataType.ComboBox;
            GroupExcel.ListItems = DC.Set<SysGroup>().GetSelectListItems(Wtm, y => y.GroupName);
            OrgExcel.DataType = ColumnDataType.ComboBox;
            OrgExcel.ListItems = DC.Set<SysOrg>().GetSelectListItems(Wtm, y => y.Name);
        }

    }

    public class SysHrRecruitPublishRequestBillImportVm : BaseImportVM<SysHrRecruitPublishRequestBillTemplateVm, SysHrRecruitPublishRequestBill>
    {

    }

}
